package br.com.wepa.webapps.orca.logica.modelo;

// Generated 12/01/2007 02:01:35 by Hibernate Tools 3.2.0.beta8

import java.util.HashSet;
import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * Fornecedor generated by hbm2java
 */
@Entity
@Table(name = "fornecedor", catalog = "Orca", uniqueConstraints = {})
public class Fornecedor implements java.io.Serializable {

	// Fields    
	/**
	 * 
	 */
	private static final long serialVersionUID = -4832478325268261018L;

	private int idFornecedor;

	private Uf uf;

	private String nome;

	private String cidade;
	private String telefone;	
	private String email;
	private String observacao;

	private Set<Orcamento> orcamentos = new HashSet<Orcamento>(0);

	// Constructors

	/** default constructor */
	public Fornecedor() {
	}

	/** minimal constructor */
	public Fornecedor(int idFornecedor, Uf uf, String nome) {
		this.idFornecedor = idFornecedor;
		this.uf = uf;
		this.nome = nome;
	}

	/** full constructor */
	public Fornecedor(int idFornecedor, Uf uf, String nome, String cidade,
			Set<Orcamento> orcamentos) {
		this.idFornecedor = idFornecedor;
		this.uf = uf;
		this.nome = nome;
		this.cidade = cidade;
		this.orcamentos = orcamentos;
	}

	// Property accessors
	@Id	@GeneratedValue(strategy=GenerationType.AUTO)
	@Column(name = "idFornecedor", unique = true, nullable = false, insertable = true, updatable = true)
	public int getIdFornecedor() {
		return this.idFornecedor;
	}

	public void setIdFornecedor(int idFornecedor) {
		this.idFornecedor = idFornecedor;
	}

	@ManyToOne(cascade = {}, fetch = FetchType.LAZY)
	@JoinColumn(name = "UF_idUF", unique = false, nullable = false, insertable = true, updatable = true)
	public Uf getUf() {
		return this.uf;
	}

	public void setUf(Uf uf) {
		this.uf = uf;
	}

	@Column(name = "nome", unique = false, nullable = false, insertable = true, updatable = true)
	public String getNome() {
		return this.nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	@Column(name = "cidade", unique = false, nullable = false, insertable = true, updatable = true,length = 255)
	public String getCidade() {
		return this.cidade;
	}

	public void setCidade(String cidade) {
		this.cidade = cidade;
	}

	@OneToMany(cascade = { CascadeType.ALL }, fetch = FetchType.LAZY, mappedBy = "fornecedor")
	public Set<Orcamento> getOrcamentos() {
		return this.orcamentos;
	}

	public void setOrcamentos(Set<Orcamento> orcamentos) {
		this.orcamentos = orcamentos;
	}

	@Column(name = "email", unique = false, nullable = true, insertable = true, updatable = true,length = 120)
	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}
	@Column(name = "observacao", unique = false, nullable = true, insertable = true, updatable = true, length = 1000)
	public String getObservacao() {
		return observacao;
	}

	public void setObservacao(String observacao) {
		this.observacao = observacao;
	}

	@Column(name = "telefone", unique = false, nullable = true, insertable = true, updatable = true,length = 120)
	public String getTelefone() {
		return telefone;
	}

	public void setTelefone(String telefone) {
		this.telefone = telefone;
	}

}
